package com.zheng.shop.dao.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author likun
 * @since 2017-12-29
 */
@TableName("shop_order")
public class ShopOrder extends Model<ShopOrder> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
	@TableId(value="id", type= IdType.AUTO)
	private Integer id;
    /**
     * 创建时间
     */
	private Date ctime;
    /**
     * 最后修改时间
     */
	private Date mtime;
    /**
     * 已支付金额
     */
	@TableField("paid_amount")
	private BigDecimal paidAmount;
    /**
     * 快递费用
     */
	@TableField("delivery_fee")
	private BigDecimal deliveryFee;
    /**
     * 支付平台所抽取的费用（支付宝、微信等）
     */
	@TableField("payment_fee")
	private BigDecimal paymentFee;
    /**
     * 总支付金额
     */
	@TableField("total_amount")
	private BigDecimal totalAmount;
    /**
     * 商品总价金额
     */
	@TableField("product_total_amount")
	private BigDecimal productTotalAmount;
    /**
     * 快递类型名称
     */
	@TableField("delivery_type_name")
	private String deliveryTypeName;
    /**
     * 备忘录
     */
	private String memo;
    /**
     * 订单序列号
     */
	@TableField("order_sn")
	private String orderSn;
    /**
     * 订单状态 0未付款 1已付款 2已取消 3已完成
     */
	private Integer status;
    /**
     * 支付方式名称
     */
	@TableField("payment_config_name")
	private String paymentConfigName;
    /**
     * 支付状态 0未支付 1已支付
     */
	@TableField("payment_status")
	private Integer paymentStatus;
    /**
     * 商品总量
     */
	@TableField("produc_total_quantity")
	private Integer producTotalQuantity;
    /**
     * 总重量
     */
	@TableField("product_weight")
	private Double productWeight;
    /**
     * 发货地址
     */
	@TableField("ship_address")
	private String shipAddress;
    /**
     * 发货区域
     */
	@TableField("ship_area")
	private String shipArea;
    /**
     * 地区路径
     */
	@TableField("ship_area_path")
	private String shipAreaPath;
    /**
     * 收货人联系电话
     */
	@TableField("ship_mobile")
	private String shipMobile;
    /**
     * 收货人姓名
     */
	@TableField("ship_name")
	private String shipName;
    /**
     * 手机号码
     */
	@TableField("ship_phone")
	private String shipPhone;
    /**
     * 收货地区邮政编码
     */
	@TableField("ship_zip_code")
	private String shipZipCode;
    /**
     * 运输状态
     */
	@TableField("shipping_status")
	private Integer shippingStatus;
    /**
     * 会员id
     */
	@TableField("user_id")
	private Long userId;
    /**
     * 快递方式id
     */
	@TableField("delivery_type_id")
	private Long deliveryTypeId;
    /**
     * 支付方式id
     */
	@TableField("payment_config_id")
	private Long paymentConfigId;


	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Date getCtime() {
		return ctime;
	}

	public void setCtime(Date ctime) {
		this.ctime = ctime;
	}

	public Date getMtime() {
		return mtime;
	}

	public void setMtime(Date mtime) {
		this.mtime = mtime;
	}

	public BigDecimal getPaidAmount() {
		return paidAmount;
	}

	public void setPaidAmount(BigDecimal paidAmount) {
		this.paidAmount = paidAmount;
	}

	public BigDecimal getDeliveryFee() {
		return deliveryFee;
	}

	public void setDeliveryFee(BigDecimal deliveryFee) {
		this.deliveryFee = deliveryFee;
	}

	public BigDecimal getPaymentFee() {
		return paymentFee;
	}

	public void setPaymentFee(BigDecimal paymentFee) {
		this.paymentFee = paymentFee;
	}

	public BigDecimal getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	public BigDecimal getProductTotalAmount() {
		return productTotalAmount;
	}

	public void setProductTotalAmount(BigDecimal productTotalAmount) {
		this.productTotalAmount = productTotalAmount;
	}

	public String getDeliveryTypeName() {
		return deliveryTypeName;
	}

	public void setDeliveryTypeName(String deliveryTypeName) {
		this.deliveryTypeName = deliveryTypeName;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public String getOrderSn() {
		return orderSn;
	}

	public void setOrderSn(String orderSn) {
		this.orderSn = orderSn;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getPaymentConfigName() {
		return paymentConfigName;
	}

	public void setPaymentConfigName(String paymentConfigName) {
		this.paymentConfigName = paymentConfigName;
	}

	public Integer getPaymentStatus() {
		return paymentStatus;
	}

	public void setPaymentStatus(Integer paymentStatus) {
		this.paymentStatus = paymentStatus;
	}

	public Integer getProducTotalQuantity() {
		return producTotalQuantity;
	}

	public void setProducTotalQuantity(Integer producTotalQuantity) {
		this.producTotalQuantity = producTotalQuantity;
	}

	public Double getProductWeight() {
		return productWeight;
	}

	public void setProductWeight(Double productWeight) {
		this.productWeight = productWeight;
	}

	public String getShipAddress() {
		return shipAddress;
	}

	public void setShipAddress(String shipAddress) {
		this.shipAddress = shipAddress;
	}

	public String getShipArea() {
		return shipArea;
	}

	public void setShipArea(String shipArea) {
		this.shipArea = shipArea;
	}

	public String getShipAreaPath() {
		return shipAreaPath;
	}

	public void setShipAreaPath(String shipAreaPath) {
		this.shipAreaPath = shipAreaPath;
	}

	public String getShipMobile() {
		return shipMobile;
	}

	public void setShipMobile(String shipMobile) {
		this.shipMobile = shipMobile;
	}

	public String getShipName() {
		return shipName;
	}

	public void setShipName(String shipName) {
		this.shipName = shipName;
	}

	public String getShipPhone() {
		return shipPhone;
	}

	public void setShipPhone(String shipPhone) {
		this.shipPhone = shipPhone;
	}

	public String getShipZipCode() {
		return shipZipCode;
	}

	public void setShipZipCode(String shipZipCode) {
		this.shipZipCode = shipZipCode;
	}

	public Integer getShippingStatus() {
		return shippingStatus;
	}

	public void setShippingStatus(Integer shippingStatus) {
		this.shippingStatus = shippingStatus;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getDeliveryTypeId() {
		return deliveryTypeId;
	}

	public void setDeliveryTypeId(Long deliveryTypeId) {
		this.deliveryTypeId = deliveryTypeId;
	}

	public Long getPaymentConfigId() {
		return paymentConfigId;
	}

	public void setPaymentConfigId(Long paymentConfigId) {
		this.paymentConfigId = paymentConfigId;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "ShopOrder{" +
			"id=" + id +
			", ctime=" + ctime +
			", mtime=" + mtime +
			", paidAmount=" + paidAmount +
			", deliveryFee=" + deliveryFee +
			", paymentFee=" + paymentFee +
			", totalAmount=" + totalAmount +
			", productTotalAmount=" + productTotalAmount +
			", deliveryTypeName=" + deliveryTypeName +
			", memo=" + memo +
			", orderSn=" + orderSn +
			", status=" + status +
			", paymentConfigName=" + paymentConfigName +
			", paymentStatus=" + paymentStatus +
			", producTotalQuantity=" + producTotalQuantity +
			", productWeight=" + productWeight +
			", shipAddress=" + shipAddress +
			", shipArea=" + shipArea +
			", shipAreaPath=" + shipAreaPath +
			", shipMobile=" + shipMobile +
			", shipName=" + shipName +
			", shipPhone=" + shipPhone +
			", shipZipCode=" + shipZipCode +
			", shippingStatus=" + shippingStatus +
			", userId=" + userId +
			", deliveryTypeId=" + deliveryTypeId +
			", paymentConfigId=" + paymentConfigId +
			"}";
	}
}
